package com.bytecodes.eaulas.beans;
import java.util.Date;

import java.util.Date;


/**
 * Clase entidad Usuario commit
 * 
 * @author David Fernandez Gamez
 * @version PAC4
 */

public class Usuario implements java.io.Serializable ,Comparable<Usuario>{

	private static final long serialVersionUID = 1L;
	private Integer rolId ;

	private String codUsuario; //userid
	protected String nombre; //name
	private String direccion;  //address
	private String apellido1;//surname1
	private String apellido2;//surname2
	private String localidad; //city
	private String telefono; //telephone
	private String telfMovil; //mobile_phone
	private String codPostal; //postal_code
	private String email; //email
	private String compania; //company
	private String creationUser; //creation_user
	private String inactivationUser;
	private String password;
        private Date creationdateUser;
        private Date inactivationdateUser;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Usuario() {
		super();

	}

	public Usuario (String nombre
			,String password
			,String direccion
			,Integer rolId
			,String nif
			,String apellido1
			,String apellido2
			,String localidad
			,String codPostal
			,String email ) 
	{
		super();
		this.nombre=nombre;
		this.password=password;
		this.direccion=direccion;
		this.apellido1=apellido1;
		this.apellido2=apellido2;
		this.localidad=localidad;
		this.codPostal=codPostal;
		this.email=email;
		this.rolId=rolId;
	}


	public Usuario(String codUsuario, String nombre, String direccion,
			String apellido1, String apellido2, 
			String localidad , String codPostal, String email,
			String telefono, String telefonoMovil, Integer rolId, String compania) {
		super();
		this.codUsuario=codUsuario;
		this.nombre = nombre;
		this.direccion = direccion;
		this.apellido1 = apellido1;
		this.apellido2 = apellido2;
		this.localidad = localidad;
		this.codPostal = codPostal;
		this.email = email;
		this.telefono= telefono;
		this.telfMovil=telefonoMovil;
		this.rolId=rolId;
		this.compania= compania;
	}
	
	
	public void setDatos(String nombre
			,String direccion
			,String nif
			,String apellido1
			,String apellido2
			,String localidad
			,String codPostal
			,String email){
		this.nombre=nombre;
		this.direccion=direccion;
		this.apellido1=apellido1;
		this.apellido2=apellido2;
		this.localidad=localidad;
		this.codPostal=codPostal;
		this.email=email;
	}

	/**
	 * @param nombre
	 *            the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * @param direccion
	 *            the direccion to set
	 */
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}


	/**
	 * @param apellido1
	 *            the apellido1 to set
	 */
	public void setApellido1(String apellido1) {
		this.apellido1 = apellido1;
	}

	/**
	 * @param apellido2
	 *            the apellido2 to set
	 */
	public void setApellido2(String apellido2) {
		this.apellido2 = apellido2;
	}

	/**
	 * @param localidad
	 *            the localidad to set
	 */
	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}

	/**
	 * @param codPostal
	 *            the codPostal to set
	 */
	public void setCodPostal(String codPostal) {
		this.codPostal = codPostal;
	}

	/**
	 * @param email
	 *            the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}


	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * @return the direccion
	 */
	public String getDireccion() {
		return direccion;
	}

	/**
	 * @return the apellido1
	 */
	public String getApellido1() {
		return apellido1;
	}

	/**
	 * @return the apellido2
	 */
	public String getApellido2() {
		return apellido2;
	}

	/**
	 * @return the localidad
	 */
	public String getLocalidad() {
		return localidad;
	}

	/**
	 * @return the codPostal
	 */
	public String getCodPostal() {
		return codPostal;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}


	public String getCodUsuario() {
		return codUsuario;
	}

	public void setCodUsuario(String codUsuario) {
		this.codUsuario = codUsuario;
	}

	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public String getTelfMovil() {
		return telfMovil;
	}

	public void setTelfMovil(String telfMovil) {
		this.telfMovil = telfMovil;
	}

	public String getCompania() {
		return compania;
	}

	public void setCompania(String compania) {
		this.compania = compania;
	}

	public String getCreationUser() {
		return creationUser;
	}

	public void setCreationUser(String creationUser) {
		this.creationUser = creationUser;
	}

	public String getInactivationUser() {
		return inactivationUser;
	}

	public void setInactivationUser(String inactivationUser) {
		this.inactivationUser = inactivationUser;
	}

	public boolean equals(Object obj) {
		boolean igual=false; 
		if (obj!=null) {
			if (obj instanceof Usuario) {
				igual = this.codUsuario.equals(((Usuario)obj).getCodUsuario());
			}
		}
		return igual;
	}


	public int compareTo(Usuario other)
	{
		return  codUsuario.compareTo(other.codUsuario);
	}

	public Integer getRolId() {
		return rolId;
	}

	public void setRolId(Integer rolId) {
		this.rolId = rolId;
	}
        
        public void setCreationDate(Date creationDate) {
            this.creationdateUser = creationDate;
        }

        public void setInactivationDate(Date inactivationDate) {
            this.inactivationdateUser = inactivationDate;
        }
        
        public Date getCreationDate() {
            return creationdateUser;
        }

        public Date getInactivationDate() {
            return inactivationdateUser;
        }

}
